//package com.huishen.edrivenew.util;
//
//import android.app.Activity;
//import android.app.ProgressDialog;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.support.v7.app.AlertDialog;
//
//import com.loopj.android.http.AsyncHttpResponseHandler;
//
//import net.oschina.app.AppContext;
//import net.oschina.app.api.remote.OSChinaApi;
//import net.oschina.app.bean.Update;
//
//import org.apache.http.Header;
//
//import java.io.ByteArrayInputStream;
//
///**
// * 更新管理类
// *
// */
//
//public class UpdateManager {
//
//    private Update mUpdate;
//
//    private Context mContext;
//
//    private boolean isShow = false;
//
//    private ProgressDialog _waitDialog;
//
//    private AsyncHttpResponseHandler mCheckUpdateHandle = new AsyncHttpResponseHandler() {
//
//        @Override
//        public void onFailure(int arg0, Header[] arg1, byte[] arg2,
//                              Throwable arg3) {
//            hideCheckDialog();
//            if (isShow) {
//                showFaileDialog();
//            }
//        }
//
//        @Override
//        public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
//            hideCheckDialog();
//            mUpdate = XmlUtils.toBean(Update.class,
//                    new ByteArrayInputStream(arg2));
//
//            onFinshCheck();
//        }
//    };
//
//    public UpdateManager(Context context, boolean isShow) {
//        this.mContext = context;
//        this.isShow = isShow;
//    }
//
//    public boolean haveNew() {
//        if (this.mUpdate == null) {
//            return false;
//        }
//        boolean haveNew = false;
//        int curVersionCode = TDevice.getVersionCode(AppContext
//                .getInstance().getPackageName());
//        if (curVersionCode < mUpdate.getUpdate().getAndroid()
//                .getVersionCode()) {
//            haveNew = true;
//        }
//        return haveNew;
//    }
//
//    public void checkUpdate() {
//        if (isShow) {
//            showCheckDialog();
//        }
//        OSChinaApi.checkUpdate(mCheckUpdateHandle);
//    }
//
//    private void onFinshCheck() {
//        if (haveNew()) {
//            showUpdateInfo();
//        } else {
//            if (isShow) {
//                showLatestDialog();
//            }
//        }
//    }
//
//    private void showCheckDialog() {
//        if (_waitDialog == null) {
//            _waitDialog = DialogHelp.getWaitDialog((Activity) mContext, "正在获取新版本信息...");
//        }
//        _waitDialog.show();
//    }
//
//    private void hideCheckDialog() {
//        if (_waitDialog != null) {
//            _waitDialog.dismiss();
//        }
//    }
//
//    private void showUpdateInfo() {
//        if (mUpdate == null) {
//            return;
//        }
//        AlertDialog.Builder dialog = DialogHelp.getConfirmDialog(mContext, mUpdate.getUpdate().getAndroid().getUpdateLog(), new DialogInterface.OnClickListener() {
//            @Override
//            public void onClick(DialogInterface dialogInterface, int i) {
//                UIHelper.openDownLoadService(mContext, mUpdate.getUpdate().getAndroid().getDownloadUrl(), mUpdate.getUpdate().getAndroid().getVersionName());
//            }
//        });
//        dialog.setTitle("发现新版本");
//        dialog.show();
//    }
//
//    private void showLatestDialog() {
//        DialogHelp.getMessageDialog(mContext, "已经是新版本了").show();
//    }
//
//    private void showFaileDialog() {
//        DialogHelp.getMessageDialog(mContext, "网络异常，无法获取新版本信息").show();
//    }
//}
